From: Georges Basile Stavracas Neto Date: Thu, 22 Mar 2018 14:11:38 +0000 (-0300) Subject: polkit: Only unregister registered handles X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~897^2~1^2~57 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=127ba318fda5c79998c2df590cd651dac416dc42;p=gnome-shell.git polkit: Only unregister registered handles If the initialization fails for some reason, for example by running 'gnome-shell --replace', we should not crash because of an attempt of unregistering an unregistered agent handle. Fix that by checking if the handle is not NULL before calling the unregistering routines. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/66 --- diff --git a/src/shell-polkit-authentication-agent.c b/src/shell-polkit-authentication-agent.c index fd6c7913b..bca967fa1 100644 --- a/src/shell-polkit-authentication-agent.c +++ b/src/shell-polkit-authentication-agent.c @@ -318,8 +318,11 @@ shell_polkit_authentication_agent_unregister (ShellPolkitAuthenticationAgent *ag if (agent->current_request != NULL) auth_request_dismiss (agent->current_request); - polkit_agent_listener_unregister (agent->handle); - agent->handle = NULL; + if (agent->handle) + { + polkit_agent_listener_unregister (agent->handle); + agent->handle = NULL; + } } static void maybe_process_next_request (ShellPolkitAuthenticationAgent *agent);